﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Negocio.Clases_BL;
using Capa_Entidad;
using Capa_Negocio_Interface;

namespace Capa_Negocio_Facade
{
    public class FacadeRegistrarCita : IFacadeRegistrarCita
    {
        public List<V_Adm_Cita> listarVista()
        {
            try
            {
                return new clsAdmCitaBL().listarVista();
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<ADM_CITA> listarCitas()
        {
            try
            {
                return new clsAdmCitaBL().listar();
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<ADM_CITA> listarCitas(int idcita)
        {
            try
            {
                return new clsAdmCitaBL().obtenerDatosCita(idcita);
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<V_Medico_Especialidad> listarMedicoXEspecialidad(Int32 ID_Especialidad)
        {
            try
            {
                return new clsMedicoBL().listar_Medico_Filtro(ID_Especialidad);
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<GEN_ESPECIALIDAD> listarEspecialidad()
        {
            try
            {
                return new clsEspecialidadBL().listar();
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<GEN_TIPO_ATENCION> listarTipoAtencion()
        {
            try
            {
                return new clsGen_Tipo_AtencionBL().listar();
            }
            catch (Exception)
            {
                return null;
            }
        }


        public int UltimoNumero()
        {
            try
            {
                return new clsAdmCitaBL().UltimoNumero();
            }
            catch (Exception)
            {
                return -1;
            }
        }

        public bool InsertarCita(ADM_CITA obj)
        {
            try
            {
                return new clsAdmCitaBL().Insertar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }

        public bool ModificarCita(ADM_CITA obj)
        {
            try
            {
                return new clsAdmCitaBL().Modicar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }

        public bool EliminarCita(ADM_CITA obj)
        {
            try
            {
                return new clsAdmCitaBL().Eliminar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }

        public List<ADM_PACIENTE> listarPaciente()
        {
            try
            {
                return new clsPacienteBLcs().listar();
            }
            catch (Exception)
            {
                return null;
            }
        }

        public List<ADM_PACIENTE> listarPaciente(string codPaciente)
        {
            try
            {
                return new clsPacienteBLcs().obtenerCodPaciente(codPaciente);
            }
            catch (Exception)
            {
                return null;
            }
        }

        public bool InsertarAtencion(ATE_ATENCION obj)
        {
            try
            {
                return new clsAte_AtencionBL().Insertar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }


        public bool ModificarAtencion(ATE_ATENCION obj)
        {
            try
            {
                return new clsAte_AtencionBL().Modificar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }

        public bool EliminarAtencion(ATE_ATENCION obj)
        {
            try
            {
                return new clsAte_AtencionBL().Eliminar(obj);
            }
            catch (Exception)
            {
                return false;
            }
        }
        public int obtenerUltimoIdAtencion() {
            try
            {
                return new clsAte_AtencionBL().obtenerIdAtencion();
            }
            catch (Exception)
            {
                return 0;
            }
        }

        public List<CIT_ESTADO_CITA> ListarEstadoCita()
        {
            clsAdmCitaBL negcita = new clsAdmCitaBL();
            return negcita.ListarEstadoCita();
        }
   
    }
}
